<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="https://unpkg.com/react@16/umd/react.development.js"></script>
    <script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
    <script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>
    <title>Document</title>
    <style>
    .box{
        width: 200px;
        height: 200px;
        background: #ccc;
    }
    </style>
    <script type="text/babel">

        function FancyBorder(props) {
            return (
                <div className={'FancyBorder FancyBorder-' + props.color}>
                {props.children}
                </div>
            );
        }
        function Dialog(props) {
            return (
                <FancyBorder color="blue">
                <h1 className="Dialog-title">
                    {props.title}
                </h1>
                <p className="Dialog-message">
                    {props.message}
                </p>
                {props.children}
                </FancyBorder>
            );
        }

        class SignUpDialog extends React.Component {
            constructor(props) {
                super(props);
                this.handleChange = this.handleChange.bind(this);
                this.handleSignUp = this.handleSignUp.bind(this);
                this.state = {login: ''};
            }

            render() {
                return (
                <Dialog title="Mars Exploration Program"
                        message="How should we refer to you?">
                    <input value={this.state.login}
                        onChange={this.handleChange} />

                    <button onClick={this.handleSignUp}>
                    Sign Me Up!
                    </button>
                </Dialog>
                );
            }

            handleChange(e) {
                this.setState({login: e.target.value});
            }

            handleSignUp() {
                alert(`Welcome aboard, ${this.state.login}!`);
            }
        }

       
        
        window.onload = function () {
            var  oDiv = document.getElementById('root');

            ReactDOM.render(
                <SignUpDialog/>,
                oDiv
            );
        }
    </script>
</head>
<body>
    <div id="root"></div>
</body>
</html>